Тестирование приложений на проникновение

Решаем сложные технологические задачи, обеспечивая безопасность приложений, данных и цифровых активов. Помогаем предотвращать возможные финансовые и репутационные риски бизнеса, связанные с кибератаками.

Наша команда инженеров и этичных хакеров специализируется на тестировании безопасности мобильных приложений, применяя уникальные техники и инструменты для моделирования реальных атак. Их опыт охватывает все аспекты кибербезопасности — от выявления слабых мест и уязвимостей до повышения уровня защиты.

Заказав у нас тестирование на проникновение, вы инвестируете в проактивную безопасность. Воспользуйтесь этой возможностью и преимуществами глубокой оценки, которая позволяет обнаружить уязвимости до того, как ими воспользуются злоумышленники. Не ждите, пока произойдёт нарушение, давайте вместе построим непробиваемый щит вокруг ваших продуктов.

Оставьте заявку Или свяжитесь с нами в whatsapp WhatsApp

Создатели мобильных, прогрессивных и веб-приложений не спешат заботиться о безопасности в первый год после релиза. Одни думают, что хакеры не скоро доберутся до их малоизвестного приложения. Другие осознают риски, но экономят на защите и не хотят использовать все прелести современных технологий для повышения уровня безопасности. В то же время пользователи хотели бы быть уверены, что их данные и другая информация не попадут в чужие руки при кибератаке.

Злоумышленники видят ценность в любой информацию из ИТ-инфраструктуры, которая проходит через приложения и хранится на серверах. С каждым годом их атаки со взломами происходят всё чаще и приносят всё больше убытков. Поэтому проводить тестирование на наличие уязвимостей и защищать приложения следует сразу после разработки. Сегодня информационная безопасность и защита данных и важной информации считается требованием безопасности при создании или использовании любого приложения.

В этой статье мы расскажем о важности тестирования, видах тестирования (в том числе выявление угроз в реальном времени) и этапах тестирования приложений. Сделаем общий анализ и оценку различных и всевозможных угроз, анализ уязвимостей. Предоставим вам главную информацию о тестировщиках, основных принципах и этапах тестирования, ключевых требованиях, возможностях защищенности, видах уязвимостей и принципах их обнаружения. Вы узнаете, какие тестирования проводятся, какие инструменты для этого существуют. И, конечно, сколько стоит тестирование на взлом в рамках обеспечения безопасности.

Важность защиты финтех-приложений

Согласно анализу и исследованию из отчета «X-Force Threat Intelligence Index 2023» от IBM (доступен на сайте IBM), в 2022 году на сферу финансов и страхования пришлось 18,9 % атак, что поставило её на вторую позицию. Несмотря на то, что с 2021 года она перестала лидировать среди страдающих индустрий, это всё равно большая доля.

Атаки на сферу финансов и страхования в 2023

Согласно анализу и исследованию систематических рисков, подготовленному Банком Англии (полный отчет можно получить на официальном сайте банка) в январе 2023, половина из 72 опрошенных руководителей финансовых компаний считают, что справиться с кибератаками сложнее всего. Их опасения делают кибератаки самым проблемным риском в этом году.

Кибератаки среди проблемных рисков в 2023

Хотя кибератаки действительно очень опасны, крупные банки уверены, что смогут их отразить. Но что делать небольшим и молодым финтех-компаниям, у которых нет своих отделов по информационной безопасности?

Взломы с похищением криптовалют

Мы собираем статистику (и проводим анализ) инцидентов в областях, в которых хорошо разбираемся. Взломы криптовалютных сервисов отслеживаем потому, что их ключевой составляющей выступают веб-приложения или смарт-контракты. В большинстве случаев как раз через них хакеры добираются до криптовалют.

За 2022 год произошло 134 взлома. В результате криптовалютные компании и децентрализованные автономные организации лишились своих и пользовательских криптовалют на сумму $3,8 миллиарда. Хакерская активность то ослабевала, то усиливалась в течение всего года, а огромные всплески были в марте и октябре:

Суммы украденных криптовалют в 2023

Среди них хотелось бы выделить три крупнейших взлома:

  1. Взлом сайдчейна Ronin для игры Axie Infinity в марте, в результате которого украли 173 тыс. ETH и 25,5 млн USDC на сумму $622 млн.
  2. Взлом кроссчейнового моста BSC Token Hub в октябре, в результате которого украли 2 миллиона BNB на сумму $570 млн.
  3. Взлом биржи FTX в ноябре, в результате которого украли BNB, DAI, ETH и USDT на сумму $477 млн.

Вы создали криптовалютную биржу или сервис, в который внедрили приём или обмен криптовалют? Когда анонсируете новый сервис, публикации могут привлечь не только целевую аудиторию, но и преступников. И если вы не успеете провести тестирование на проникновение, то есть проверить релиз на уязвимости, то злоумышленники сделают это за вас, чтобы воспользоваться ими. И все это в очередной раз доказывает важность проведения тестирования и общего понимания защищенности проекта, его данных, информации, а главное — финансов и репутации.

Похищение фиатных денег и платёжных данных

Хакеры по-прежнему атакуют банковские системы и приложения, используя различные инструменты и способы, например, сканирование уязвимостей через онлайн-сервисы, хотя они защищены получше остальных. Они крадут и данные банковских карт, и непосредственно деньги. А банки стараются скрывать такие случаи, чтобы не пострадала репутация. Если что-то оповещается в СМИ, то очень кратко, без точной суммы украденного, но с заверениями в том, что средства клиентов в безопасности.

Менее защищёнными оказываются финтех-компании, не относящиеся к банкам, которые уже тратят меньше средств на тестирование (как внутреннее, так и внешнее) и безопасность. Например, в системах электронных и мобильных платежей всегда найдутся уязвимости, ведь там тестирование проводится уже не таким образом, как в банках. Если не у них, так у сторонних сервисов, которые они подключают, так как в большинстве случаев они не проводят тестирование на взломы и уязвимости.

Центральный Банк России фиксирует все случаи несанкционированных финансовых операций по всей стране, то есть тех, что совершаются без согласия клиентов финансовых организаций. Вот в каких объёмах и количествах совершались несанкционированные операции в 2021 и 2022 годах:

Объем и количество операций без согласия клиентов 2023

Банк России также предоставил такую интересную статистику за 2022 год:

  • клиентам возвратили только 4,4 % (618,4 млн руб.) от всего объёма денег, переведённых и потраченных без их согласия;
  • средняя сумма одной операции без согласия клиентов-физлиц — 15,3 тыс. руб., а юрлиц — 166,9 тыс. руб.;
  • физлица сообщили о 515,9 тыс. операций на сумму 2550,5 млн руб., совершённых без их согласия при оплате товаров и услуг онлайн их банковскими картами;
  • преступники атаковали системы дистанционного банкинга 226,8 тыс. раз, в результате чего похитили 9237,5 млн руб. у физлиц.

Необходимость тестирования на проникновение и защиты

Владелец не финтех-бизнеса может подумать, что риски минимальны, если его компания не хранит деньги клиентов, не обрабатывает переводы и платежи, и что тестирование на проникновение не относиться к особо важной части его бизнеса. К сожалению, киберворов интересуют не только криптовалюты, деньги и банковские карты, а вообще всё, что плохо лежит, но хорошо продаётся, поэтому безопасность должна быть всегда на первом месте и без тестирования на проникновение никак не обойтись. Глубокий анализ, безопасность системы, сервера, внутренних данных, внешних факторов, сайта — без этого уже никак. Этап за этапом, тест за тестом, нужно проходить все важные элементы и функции любого сервиса, чтобы выявить узкие места. Это основное требование для того, чтобы использование продукта вашей компании или стартапа было безопасным.

На персональные данные и конфиденциальную информацию всегда найдутся покупатели, например, конкуренты вашей компании и мошенники. В даркнете они могут купить украденную базу из тысяч клиентов за 300 $ и начать их «обрабатывать». А взломанной компании каждая запись обходится в 165 $, согласно отчёту «Cost of Data Breach Report 2023» от IBM Security. Там же сообщается, что в среднем убытки от утечки данных обходятся компаниям в $4,45 миллиона, а значит, у них утекает ~26 970 записей. А вот если бы они подошли с большей важностью к процессу тестирования своих сервисов, то могли бы избежать таких финансовых потерь.

Последствия нарушения законов о данных

Во многих государствах предусмотрены законы и правила, согласно которым компании, обрабатывающие и хранящие персональные данные, должны регистрироваться как операторы данных. Если они нарушат обработку и хранение данных, их безопасность, то они должны проинформировать своих клиентов и регулятора об утечке данных. Также они должны возместить ущерб клиентам и заплатить штраф контролирующему органу.

Допустив нарушение, надо быть готовым к следующим штрафам по законам о защите персональных данных, действующих в разных странах:

  • В России есть Федеральный закон РФ № 152-ФЗ «О персональных данных», исполнение которого контролирует Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор). Там прописаны такие штрафы:
    • за первое нарушение должностными лицами и ИП — до 40 тыс. руб., юрлицами — до 150 тыс. руб.;
    • за повторное нарушение должностными лицами — до 100 тыс. руб., ИП — до 300 тыс. руб., юрлицами — до 500 тыс. руб.
  • В Великобритании есть Общий регламент защиты персональных данных Соединённого Королевства (UK GDPR), исполнение которого контролирует Управление комиссара по делам информации. Там прописаны такие штрафы:
    • стандартный — до £8,7 млн или 2 % от годового оборота;
    • за крупное нарушение — до £17,5 млн или 4 % от годового оборота.
  • В Европейском Союзе есть Общий регламент защиты персональных данных (GDPR), исполнение которого контролирует Европейский совет по защите данных. Там прописаны такие штрафы:
    • стандартный — до €10 млн или 2 % от годового оборота;
    • за крупное нарушение — до €20 млн или 4 % от годового оборота.

Несмотря на штрафные санкции, компании недостаточно заботятся о защите. За 2022 год произошло 1063 инцидента безопасности, которые привели к компрометации 408 млн записей, что наглядно указывает на то, что без тестирования на взлом и поиск различных уязвимостей никак не обойтись.

Хотите избежать проблем из-за взломов или утечки данных? Напишите нам в Telegram, чтобы заказать пентест (тестирование) у наших специалистов по информационной безопасности, пока хакеры не провели его без вашего ведома.

Уязвимости, угрозы, атаки

Большинство мобильных приложений имеют клиент-серверную архитектуру. Клиентскую часть пользователи скачивают из магазина и устанавливают на свои устройства с мобильной ОС (тот же iOS и Android). А серверная часть представляет собой веб-приложение, которое взаимодействует с мобильным клиентом через программный интерфейс приложения (API).

Уязвимость — это брешь или слабое место, которое может возникнуть из-за дефектов в проектировании или ошибок в программировании. Они встречаются как в клиентской, так и в серверной части, и даже между ними — в канале передачи данных. Уязвимости дают злоумышленнику возможность реализовать угрозу безопасности.

Угроза — это совокупность условий и факторов, которая создаёт потенциальную опасность несанкционированного воздействия. Она может быть причиной нежелательного инцидента, в результате которого злоумышленник нанесёт ущерб владельцу или его пользователям.

В мобильных приложениях

Некоммерческая организация Open Web Application Security Project (OWASP) составила топ-10 самых распространённых угроз для мобильных приложений в 2023 году:

Топ Угроза Воздействие
1 Неподходящее использование учётных данных Похищение данных, мошеннические действия, несанкционированный доступ к административным функциям, раскрытие конфиденциальности пользователей
2 Ненадлежащая безопасность цепочки поставок Заражение вредоносным ПО, компрометация системы, похищение данных, несанкционированный доступ
3 Небезопасная аутентификация/авторизация Доступ к конфиденциальной информации, разрушение системы, сбои в системе контроля аутентификации и авторизации, сокрытие источника атаки и природы эксплойтов
4 Недостаточная проверка ввода/вывода Выполнение неавторизованного кода, компрометация системы, нарушение работы и функциональности
5 Небезопасная коммуникация Похищение данных, угон аккаунтов пользователей, раскрытие конфиденциальности пользователей
6 Недостаточный контроль конфиденциальности Похищение данных, нарушение работы бэкенда, негативное влияние на глобальные свойства безопасности
7 Ненадлежащая защита двоичных файлов Похищение интеллектуальной собственности, нарушение работы бэкенда
8 Неправильная настройка системы безопасности Компрометация системы, похищение данных, несанкционированный доступ к конфиденциальным данным, угон аккаунтов пользователей
9 Небезопасное хранение данных Компрометация аккаунтов пользователей, несанкционированный доступ к ресурсам, подделка данных и нарушение их целостности
10 Недостаточная криптография Похищение интеллектуальной собственности, несанкционированное извлечение конфиденциальной информации

Практически каждая угроза может привести к губительным последствиям для бизнеса:

  • потеря доверия;
  • простои и сбои в работе;
  • утечка данных;
  • ущерб репутации;
  • финансовые убытки;
  • юридические и нормативные последствия.

В веб-приложениях

Та же организация OWASP составила топ-10 самых распространённых угроз для веб-приложений в 2021 году. Она также сопоставила с ними заметные слабые места из перечня распространённых дефектов (CWE), которые могут спровоцировать уязвимости.

Топ Угроза Заметные дефекты из CWE
1 Нарушенный контроль доступа CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
CWE-201: Insertion of Sensitive Information Into Sent Data
2 Сбои криптографии CWE-259: Use of Hard-coded Password
CWE-327: Broken or Risky Crypto Algorithm
3 Инъекции CWE-79: Cross-site Scripting
CWE-89: SQL Injection
4 Небезопасный дизайн CWE-209: Generation of Error Message Containing Sensitive Information
CWE-256: Unprotected Storage of Credentials
5 Неправильная настройка системы безопасности CWE-16: Configuration
CWE-611: Improper Restriction of XML External Entity Reference
6 Уязвимые и устаревшие компоненты CWE-1104: Use of Unmaintained Third-Party Components
7 Сбои идентификации и аутентификации CWE-297: Improper Validation of Certificate with Host Mismatch
CWE-287: Improper Authentication
8 Сбои целостности программного обеспечения и данных CWE-829: Inclusion of Functionality from Untrusted Control Sphere
CWE-494: Download of Code Without Integrity Check
9 Сбои логирования и мониторинга безопасности CWE-778: Insufficient Logging
10 Подделка запросов на серверной стороне

Атаки

Атака — это метод, с помощью которого злоумышленник эксплуатирует уязвимости, в том числе с помощью различных инструментов и сервисов (например, с помощью сканирования через различные онлайн-сервисы). Хотя, кроме чёрных хакеров и инсайдеров, атаки проводят и белые хакеры в рамках тестирования безопасности.

Перечислим три распространённые атаки:

  1. Мобильный код, вызывающий недоверенный мобильный код. Это манипулирование мобильным кодом путём добавления произвольных операций в исходный программный код. Злоумышленник может перехватить клиентский трафик с помощью метода посредника, разместить вредоносный мобильный код на ненадёжном сайте или внедрить на уязвимый сайт с помощью инъекции. Цель — выполнять вредоносные операции на устройстве клиента под его учётными данными.
  2. Неокончательное публичное поле мобильного кода. Это манипулирование неокончательными публичными переменными, используемыми в мобильном коде, путём инъекции в них вредоносных значений. Когда публичная переменная-член или класс не объявлены как окончательные, их значениями может злонамеренно манипулировать любая функция, имеющая доступ к ним. Цель — расширить программный код приложения или получить критическую информацию о нём.
  3. Перехват объекта мобильного кода. Это техника создания объектов без методов конструкторов с помощью использования метода clone(). Если определённый класс реализует метод cloneable(), который объявлен как публичный, но не имеет публичного метода конструктора и не объявлен как окончательный, то злоумышленник может расширить его до нового класса. Цель — создавать клоны объектов, которые имеют такие же атрибуты, как у исходных объектов, но независимы от них.

Кто проводит тестирование на проникновение

Как правило, приложение создаётся командой из дизайнеров, верстальщиков, разработчиков фронтенда и бэкенда, то есть обойтись одним сотрудником тут никак не получится. Перед релизом другая команда — из тестировщиков, QC и QA — должна провести внутреннее тестирование на ошибки и недочеты, выявить их, дать оценку важности и при необходимости отправить на доработку разработчикам. Вторая команда проводит тестирование и проверку функциональности, правильность отработки сценариев на различных этапах, чтобы в дальнейшем все функции можно было использовать в штатном режиме. Но эти аудиторы программного кода не ищут уязвимости специально, хотя могут на них натыкаться в ходе тестирования.

Исследование безопасности мобильных и веб-приложений — компетенция других профессионалов, так как это не просто поиск ошибок или проверка работоспособности продукта. Поэтому нужна ещё команда из специалистов по информационной безопасности, преимущественно инженеров ИБ, которые имеют опыт тестирования на проникновение, атак и их отражения. Они проведут тестирование на проникновение с помощью различных инструментов, сервисов и своих знаний, предоставят вам общую оценку, смогут выявить возможные уязвимости и помогут устранить их, чтобы ваше приложение стало полностью безопасным, с учетом всевозможных внутренних и внешних факторов, общей оценки тестирования.

До привлечения специалиста по пентесту (от англ. penetration test — «тестирование на проникновение») приложение любой организации или компании считается потенциально уязвимым, даже если разработчики не халтурили при создании, а тестировщики провели процесс тестирования по поиску ошибок и недочетов на высшем уровне. К нему следует обращаться перед выпуском каждой стабильной версии, чтобы вовремя останавливать и устранять любые угрозы.

Polygant оказывает услуги по разработке технического задания для специалистов по информационной безопасности.

Процесс проведения пентестов, или тестирования на проникновение

Тестирование на проникновение (пентест) — сложный, но обязательный процесс в обеспечении безопасности, данных и информации. Он представляет собой имитацию атак на компоненты приложения, чтобы выявить уязвимости и слабые места в хоте этого тестирования. Целями атак выступают, например, API, внешние и внутренние серверы. После тестирования веб-приложения на проникновение результаты используются для точной настройки безопасности и устранения найденных уязвимостей.

Виды пентеста

Наши специалисты по ИБ используют следующие методики пентеста (тестирования на проникновение):

  • Внешний пентест. Пентестер атакует мобильный клиент, веб-приложение, сайт, серверы электронной почты и доменных имён. Сценарий — получение несанкционированного доступа и извлечение ценных данных.
  • Внутренний пентест. Пентестер имитирует атаку под видом злоумышленника, имея доступ к приложению за брандмауэром. Сценарий — кража данных, например, с помощью фишинга на работника заказчика.
  • Слепое тестирование на проникновение. Заказчик предоставляет пентестеру только название приложения, которое тот должен атаковать. Это позволяет команде заказчика посмотреть в реальном времени, на выявления различных возможностей взлома и того, как будет происходить атака.
  • Двойное слепое тестирование на проникновение. Команда заказчика не оповещается о том, что пентестер будет атаковать приложение. То есть, как и в реальности, у неё не будет времени подготовиться к атаке.
  • Целевое тестирование на проникновение. Пентестер и команда заказчика работают сообща. Это тестирование обеспечивает команде заказчика обратную связь и изучение атаки с точки зрения хакеров.

Этапы пентеста

Наши специалисты по ИБ проводят тестирование безопасности мобильных и веб-приложений в 5 этапов:

  1. Планирование и разведка. Определяется объём работ и цели тестирования, в том числе системы и компоненты, к которым нужно обратиться. Составляется алгоритм проведения пентеста. Проводится сбор информации о серверах, сетевых и доменных именах, чтобы разобраться, как работает цель и где искать уязвимости.
  2. Статический и динамический анализы. Они дают понять, как цель будет реагировать на попытки такого тестирования на проникновение. Сначала проводится статический анализ — проверка кода для оценки его поведения во время работы. Инструменты для такого анализа позволяют сканировать весь код за один проход. Затем проводится динамический анализ — проверка кода в рабочем состоянии. Этот более практичный способ позволяет мониторить производительность в реальном времени.
  3. Получение доступа. Пентестеры проводят атаки, чтобы выявить уязвимости. Затем они пробуют эксплуатировать уязвимости, устраивая повышение привилегий, кражу данных, перехват трафика и прочее. Это позволяет определить ущерб, который могут нанести атаки.
  4. Поддержание доступа. Выясняется, можно ли использовать уязвимость для постоянного присутствия в системе. Желательно так долго, чтобы пентестеры успели получить более глубокий доступ. Это нужно для имитации постоянных продвинутых угроз, которые остаются в системе на месяцы.
  5. Отчёт пентеста. В итоге составляется отчёт, детализирующий: уязвимости, которые были найдены и использованы; данные, к которым был получен доступ; время, в течение которого пентестер оставался в системе незамеченным.

Услуги тестирования на проникновение

Тестирование мобильного приложения на проникновение или пентест веб-приложения — первостепенная задача после выпуска продукта. К ней надо отнестись ответственно ещё на стадии бета-версии, ведь от этого зависит ваша репутация. Выявление, анализ уязвимостей и их устранение должно быть в приоритете перед публичным запуском.

Представьте, если бы банковское приложение, через которое вы управляете своим счётом, можно было взломать и отправить деньги на посторонний счёт. Вы бы продолжили пользоваться услугами банка, допустившего такое? А теперь поставьте себя на место ваших пользователей. Ну как, уже задумались о проведении тестирования?

Как вы теперь понимаете, тестирование на проникновение — неотъемлемая часть и даже требование, которое нужно для выявления уязвимостей, оценки состояния вашего приложения на безопасность и сохранности данных. Надеемся, что информация и общий анализ в этой статье показали вам важность тестирования на проникновение, что безопасность и выявление уязвимостей должны стоять на первом месте.

Стоимость пентеста (тестирования) — от 5000 $. Это в сотни раз меньше тех потерь, которые может понести любая компания из-за действий злоумышленников, а также исков от клиентов и регуляторов, если деятельность связана с финансами или обработкой и хранением данных.

Защитите своё приложение от взлома, а бизнес — от репутационных рисков, пока не поздно. Используйте такую возможность, обратившись в Polygant — пентест-компанию, которая 10 лет занимается тестированием и поиском уязвимостей, проверкой сценариев взлома и устранением угроз безопасности.

Аватар
Johnny Walker
Chief Editor
21 октября 2024 Updated on  Обновлено   24 ноября 2024